package com.ruoyi.common.utils;

import java.util.Arrays;
import java.util.List;

public class IdsListUtils {
    /**传递字符串，使用 ---进行分割，将分割的结果转换为List集合返回
     *
     * @param input
     * @return
     */
    public static List<String> splitString(String input) {
        // 使用 --- 分割字符串，并转换为数组
        String[] parts = input.split("---");
        // 将数组转换为 List 集合
        return Arrays.asList(parts);
    }

    /**，查看某个字符串是否存在于某个字符串中
     *
     * @param input
     * @param target
     * @return
     */
    public static boolean containsIds(String input, String target) {
        // 使用 --- 分割字符串，并转换为数组
        String[] parts = target.split("---");
        // 遍历数组，判断是否存在目标字符串
        for (String part : parts) {
            if (part.equals(input)) {
                return true;
            }
        }
        return false;
    }

    /**，将字符串添加到某个字符串中
     *
     * @param target
     * @param toAdd
     * @return
     */
    public static String appendIds(String target, String toAdd) {
        // 检查目标字符串是否为空
        if (target == null || target.isEmpty()) {
            return toAdd;
        }
        // 使用 --- 作为分隔符将新字符串添加到目标字符串末尾
        return target + "---" + toAdd;
    }
    /**
     * 删除某个字符串
     */
    public static String removeIds(String target, String toRemove) {
        // 使用 --- 分割字符串，并转换为数组
        String[] parts = target.split("---");
        // 创建一个新的字符串列表，用于存储结果
        StringBuilder result = new StringBuilder();
        // 遍历数组，判断是否需要添加到结果中
        for (String part : parts) {
            if (!part.equals(toRemove)) {
                result.append(part).append("---");
            }
        }
        // 如果结果列表不为空，则删除最后一个 ---
        if (result.length() > 0) {
            result.deleteCharAt(result.length() - 1);
        }
        return result.toString();
    }

}
